Issue parsec_fatal when the datatype_arenas have not been set in the PTG #739
Issue parsec_fatal when the datatype_arenas have not been set in the PTG #739abouteiller wants to merge 1 commit intoICLDisco:masterfrom
Conversation
than crashing in a cryptic way), examplified by ICLDisco/dplasma#138
bosilca
left a comment
There was a problem hiding this comment.
Why here in the iterator ? This will bail out on the first flow without a datatype, and you should only bail out if at the end of the get_datatype you don't get a proper datatype, aka in remote_dep_mpi.c:934.
|
We got a datatype with a count non-zero and no datatype, that should not exist |
|
It should not matter until the end of the iterator. We don't have to police every dep type, only that the end we have one. |
|
Is it ever valid to have a non-zero count with an invalid datatype? How? Otherwise this error seems legit. |
|
Define valid in this particular context ? From the communication perspective it is invalid to have a non-zero count with an invalid datatype, but the communication is bound to a flow in the receive case not to any particular deps inside the flow. This PR checks for each dep, even the ones that will not finally be associated with the communication, instead of checking only once at the end to make sure the flow (and therefore the communication to be issued) is correct. |
Issue parsec_fatal when the datatype_arenas have not been set (rather than crashing in a cryptic way), examplified by ICLDisco/dplasma#138